/**
 * 截取字符串中的数字
 */
getNum=function(text) {
	var value = text.replace(/[^0-9]/ig, "");
	if (value != '') {

		return parseInt(value, 10);
	}

	return null;
}

validateNumber=function(value){
    
  var   newPar=/^(-|\+)?\d+(\.\d+)?$/;
  return   newPar.test(value);   
 
}


/**
* 实时动态强制更改用户录入
* arg1 inputObject
**/
amount=function (th){
    var regStrs = [
        ['^0(\\d+)$', '$1'], //禁止录入整数部分两位以上，但首位为0
        ['[^\\d\\.]+$', ''], //禁止录入任何非数字和点
        ['\\.(\\d?)\\.+', '.$1'], //禁止录入两个以上的点
        ['^(\\d+\\.\\d{2}).+', '$1'] //禁止录入小数点后两位以上
    ];
    for(i=0; i<regStrs.length; i++){
        var reg = new RegExp(regStrs[i][0]);
        th.value = th.value.replace(reg, regStrs[i][1]);
    }
}
 
/**
* 录入完成后，输入模式失去焦点后对录入进行判断并强制更改，并对小数点进行0补全
**/
overFormat = function (th){
    var v = th.value;
    if(v === ''){
        v = '0.00';
    }else if(v === '0'){
        v = '0.00';
    }else if(v === '0.'){
        v = '0.00';
    }else if(/^0+\d+\.?\d*.*$/.test(v)){
        v = v.replace(/^0+(\d+\.?\d*).*$/, '$1');
        v = inp.getRightPriceFormat(v).val;
    }else if(/^0\.\d$/.test(v)){
        v = v + '0';
    }else if(!/^\d+\.\d{2}$/.test(v)){
        if(/^\d+\.\d{2}.+/.test(v)){
            v = v.replace(/^(\d+\.\d{2}).*$/, '$1');
        }else if(/^\d+$/.test(v)){
            v = v + '.00';
        }else if(/^\d+\.$/.test(v)){
            v = v + '00';
        }else if(/^\d+\.\d$/.test(v)){
            v = v + '0';
        }else if(/^[^\d]+\d+\.?\d*$/.test(v)){
            v = v.replace(/^[^\d]+(\d+\.?\d*)$/, '$1');
        }else if(/\d+/.test(v)){
            v = v.replace(/^[^\d]*(\d+\.?\d*).*$/, '$1');
            ty = false;
        }else if(/^0+\d+\.?\d*$/.test(v)){
            v = v.replace(/^0+(\d+\.?\d*)$/, '$1');
            ty = false;
        }else{
            v = '0.00';
        }
    }
    th.value = v; 
}


//说明：javascript的除法结果会有误差，在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。  
//调用：accDiv(arg1,arg2)  
//返回值：arg1除以arg2的精确结果  
 accDiv=function(arg1,arg2){ 
  var t1=0,t2=0,r1,r2; 
  try{t1=arg1.toString().split(".")[1].length}catch(e){} 
  try{t2=arg2.toString().split(".")[1].length}catch(e){} 
  with(Math){ 
      r1=Number(arg1.toString().replace(".","")) 
      r2=Number(arg2.toString().replace(".","")) 
      return (r1/r2)*pow(10,t2-t1); 
  } 
 }
 
//说明：javascript的乘法结果会有误差，在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。  
//调用：accMul(arg1,arg2)  
//返回值：arg1乘以arg2的精确结果  
 accMul=function(arg1,arg2) { 
   var m=0,s1=arg1.toString(),s2=arg2.toString(); 
   try{m+=s1.split(".")[1].length}catch(e){} 
   try{m+=s2.split(".")[1].length}catch(e){} 
   return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m); 
}
 
//说明：javascript的加法结果会有误差，在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。  
//调用：accAdd(arg1,arg2)  
//返回值：arg1加上arg2的精确结果  
 accAdd = function(arg1,arg2){ 
   var r1,r2,m; 
   try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0} 
   try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0} 
   m=Math.pow(10,Math.max(r1,r2)) 
   return (arg1*m+arg2*m)/m;
 }
 
//说明：javascript的减法结果会有误差，在两个浮点数相加的时候会比较明显。这个函数返回较为精确的减法结果。  
//调用：accSub(arg1,arg2)  
//返回值：arg1减上arg2的精确结果  
 accSub=function(arg1,arg2){     
   return accAdd(arg1,-arg2); 
 }